#ifndef _STATISTICDISTRIBUTION_H_
#define _STATISTICDISTRIBUTION_H_

#include <cstdlib>

#include <iostream>

#include <newran.h>
#include <sys/time.h>
#include <time.h>

/**
 *@author Nelson. A. da N. Junior
 */
 
class StatisticDistribution {
	private:
		/*Random distribution*/
		Random *dist;
		MotherOfAll *urng;

		long double seed;
		
		/*Generate a random seed*/
		long double generateSeed();		

	
	public:
		enum {UNIFORM, NORMAL, EXPONENTIAL};
		/*Constructor*/
		StatisticDistribution(int type=UNIFORM, long double seed=-1);
		/*Destructor*/
		~StatisticDistribution();
		
		long double getSeed();

		/*Get the next random number*/
		long int next(long int lower, long int upper);
		long double next(long double lower, long double upper);
		

};

#endif //_STATISTICDISTRIBUTION_H_
